#include "src/TabZombie.h"
#include "src/Zombie.h"
#include <stdlib.h>

void initialiserTabZombie(Tab_Zombie *T)
{

   T->Zombie = malloc(1*sizeof(Zombie));
   T->nb_Element=0;
    T->taille_Max=1;
}

void ajouterElement(Tab_Zombie *T)
{
     T->Zombie[T->nb_Element]=initZombie(19,13);

    T->nb_Element= T->nb_Element +1;

    if( T->nb_Element > 0.5*T->taille_Max )
    {
        Zombie** zomb;
        zomb=T->Zombie;
        T->taille_Max=T->taille_Max*2;
        T->Zombie= malloc(T->taille_Max*sizeof(Zombie));
        int compteur;
        for(compteur=0;compteur<T->nb_Element; compteur++)
        {
            T->Zombie[compteur]=zomb[compteur];

        }
        free(zomb);
    }

}

void suprimerElement (Tab_Zombie* T,int a)
{

        int b;
         for(b=a; b<T->nb_Element-1;b++)
    {
        T->Zombie[b]=T->Zombie[b+1];
    }



    if(T->nb_Element<0.3*T->taille_Max)
    {

        Zombie** zomb;
        zomb=T->Zombie;
        T->taille_Max=T->taille_Max*0.5;
        T->Zombie= malloc(T->taille_Max*sizeof(Zombie));
        int compteur;
        for(compteur=0;compteur<T->nb_Element; compteur++)
        {
            T->Zombie[compteur]=zomb[compteur];

        }
        free(zomb);
    }
    T->nb_Element= T->nb_Element -1;
    }



void detruireTabZombie (Tab_Zombie* T)
{
    T->taille_Max =0;
    T->nb_Element=0;
    free(T->Zombie);

}

Zombie * getElementTabZombie (Tab_Zombie *T,int N)
{
    return T->Zombie[N];
}
